Assembling parts by means of a robot, for example, includes operation for fitting the parts with one another. Fitting the parts with one another is difficult if the respective positions of the parts are not settled accurately. In fitting a part held by a robot hand with another part, the parts cannot be easily fitted with each other if there is an error in instruction for the robot or if the positioning accuracy of the other part is poor.
Conventionally, therefore, a method is employed such that the distal end of the wrist of the robot is provided with a force sensor that can detect translation forces in the directions of X-, Y-, and Z-axes, which are perpendicular to one another, and moments around these axes, and that, in inserting one part into the other part, the parts are fitted with one another after the position and attitude of each axis of the robot are corrected according to a pressure detected by the force sensor.
FIG. 2 is a principal-part block diagram of a robot controller for correcting the operation of the robot in accordance with information from the aforesaid sensor.
Numeral 1 denotes a main processor of the robot controller for controlling the robot, and 2 denotes a servo control circuit for drivingly controlling a servomotor 4 for driving each axis of the robot, the circuit 2 being composed of a DSP (digital signal processor). Numeral 3 denotes a servo amplifier that is composed of an inverter or the like. Numeral 4 denotes a servomotor for driving an axis, and 4a denotes a position-speed detector, such as a pulse coder, for detecting the rotational position and speed of the servomotor.
Numeral 6 denotes a sensor, which is attached to, for example, the distal end of the wrist of the robot, as mentioned before. It is a force sensor that can detect translation forces in the directions of X-, Y-, and Z-axes, which are perpendicular to one another, and moments around these axes. Further, numeral 5 denotes a sensor data processing circuit composed of a DSP or the like, which calculates a target acceleration from a pressure detected by the sensor 6 and delivers it to the main processor 1. The main processor 1, servo control circuit 2, and sensor data processing circuit 5 are connected to one another by means of a bus 7.
The main processor 1 successively reads out instruction programs stored in a memory (not shown) or the like, and distributes a move command to the servo control circuit 2 for each robot axis with every predetermined cycle, in order to move a hand or the like attached to the distal end of the wrist of the robot to a move command position at a speed ordered by the programs. The DSP of each servo control circuit 2 carries out position feedback control and speed feedback control in accordance with the move command delivered from the main processor 1 with every predetermined cycle and a position feedback signal and a speed feedback signal fed back from the position-speed detector 4a, and obtains a torque command (current command) for the servomotor 4 for each axis. Further, the DSP detects a current flowing through each servomotor 4 to carry out current feedback control also, and causes the servo amplifier 3 to drive the servomotor 4 for each axis, thereby moving the tool center point of the hand or the like to the command position.
In fitting a part held by a robot hand with another part, on the other hand, the respective fitting positions of the parts may be deviated due to an error in instruction for the robot or poor positioning accuracy. In this case, a reaction force is produced by the dislocation attributable to the fitting operation, and is detected by the sensor 6. This detected pressure is applied to the input of the sensor data processing DSP 5. The DSP of the sensor data processing circuit 5 calculates the target acceleration, which is delivered to the main processor 1.
The main processor 1 calculates position and speed correction values in accordance with the detected acceleration, corrects the speed and position ordered by the instruction programs, and distributes a move command for each distribution cycle to the servo control circuit 2. In consequence, the deviation of the fitting positions is corrected, so that the parts fitting operation can be executed securely.
The above-described conventional method requires the sensor data processing circuit 5 that calculates the target acceleration in accordance with an output signal from the sensor 6, besides the main processor 1 and the DSP of the servo control circuit 2. Although the transmission cycle for acceleration transmitted from the sensor data processing circuit 5 to the main processor 1 can be shortened to, for example, about 500 Hz, moreover, the cycle for the main processor 1 to correct the speed and position in accordance with the received acceleration and distribute the move command to the servo control circuit is predetermined for the distribution of the move command based on the instruction programs, and is at about 50 Hz, for example. In consequence, there is a drawback in that the correction of the deviation of the fitting positions is retarded.